home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 2) (1997).iso / misc / coding / midas060 / samples / midpnt / regtest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-22  |  1.6 KB  |  56 lines

  1. #include <stdio.h>
  2. #define WIN32_LEAN_AND_MEAN
  3. #include <windows.h>
  4.  
  5.  
  6. int main(void)
  7. {
  8.     HKEY        key;
  9.     LONG        err;
  10.     DWORD       createStatus;
  11.     char        name[MAX_PATH];
  12.     DWORD       nameLen = MAX_PATH;
  13.     DWORD       valType;
  14.  
  15.     err = RegOpenKeyEx(HKEY_CURRENT_USER,
  16.         "Software\\Sahara Surfers\\MidpNT", 0, KEY_ALL_ACCESS, &key);
  17.     if ( err != ERROR_SUCCESS )
  18.     {
  19.         printf("Couldn't open key, will create it\n");
  20.         err = RegCreateKeyEx(HKEY_CURRENT_USER,
  21.             "Software\\Sahara Surfers\\MidpNT", 0, NULL,
  22.             REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key,
  23.                 &createStatus);
  24.         if ( err != ERROR_SUCCESS )
  25.         {
  26.             printf("Couldn't create key: %li\n", err);
  27.             return 1;
  28.         }
  29.         if ( createStatus == REG_CREATED_NEW_KEY )
  30.             printf("Created new key\n");
  31.         else
  32.             printf("Opened old key (?!?)\n");
  33.     }
  34.     printf("We have a key: %08X\n", (unsigned) key);
  35.  
  36.     err = RegQueryValueEx(key, "DefaultDirectory", 0, &valType,
  37.         (LPBYTE) name, &nameLen);
  38.     if ( err != ERROR_SUCCESS )
  39.     {
  40.         printf("Couldn't query value, will create it\n");
  41.         err = RegSetValueEx(key, "DefaultDirectory", 0, REG_SZ,
  42.             (CONST BYTE*) "q:\\kala\\dirikkkka", 18);
  43.         if ( err != ERROR_SUCCESS )
  44.         {
  45.             printf("Creation failed: %li\n", err);
  46.             return 2;
  47.         }
  48.     }
  49.     else
  50.     {
  51.         printf("Got value: \"%s\", type %li, len %li\n", name, valType,
  52.             nameLen);
  53.     }
  54.  
  55.     return 0;
  56. }